package com.tedu.day02.oop;

/**
 * 继承产生的问题3 【方法】
 *重写：什么情况下使用重写-->覆盖
 * 重载:什么情况下使用重载-->扩展【增加功能：根据不同的需要找到相应的方法】
 * 重载定义规则：继承关系--方法：修饰符 返回值 方法名【参数不一致】
 *
 */

class Noodles{
    public void box(){
        System.out.println("方便面");
    }
}
class Packing extends Noodles{
    //修饰符 返回值 方法名一样  参数不同

    public void box(String str) {
        System.out.println("传统工艺：老坛酸菜面");
    }
    public void box(int i) {
        System.out.println("国资工艺：康师傅牛肉面");
    }
}
public class 继承的问题3 {
    public static void main(String[] args) {
        //测试：重载--修饰符 返回值 方法名一致  参数不一致，根据参数调方法
        Packing p=new Packing();
        p.box();   //没有重写：修饰符  返回值 方法名 参数完全一致
        p.box("老坛");  //重载：修饰符  返回值 方法名一致 参数不一致
        p.box(1); //重载：修饰符  返回值 方法名一致 参数不一致
        //思考 重写 存在修饰符访问权限问题
        //重载 修饰符 父类大于子类
        //重载 修饰符 权限控制
    }
}
